1. Field of the Invention
The present invention relates generally to the field of communication system. More specifically, the present invention relates to a method of selecting a server from a computer network.
2. Description of the Related Art
With the Internet and the World Wide Web (xe2x80x9cthe Webxe2x80x9d) becoming a viable communication medium, demand in private interconnections between users and backbone providers has been rapidly increasing. In order to improve accessibility, duplication of popular websites across the Internet is often used to reduce access loading from main sites. Duplicated websites are generally referred to as replicated servers of main sites and they essentially contain the same information as the main sites. The replicated servers contain equivalent information and maintain the same internal state of user information. Accordingly, using the replicated servers improves user throughput and localization (e.g., by providing instant language translation between servers).
FIG. 1A illustrates a conventional configuration 100 between a main site 102 and replicated servers 104 and 110. The configuration 100 contains a main site 102 located in Santa Clara, Calif., for example, which has a universal resource locator (xe2x80x9cURLxe2x80x9d) of www.placeholder.com, a first user in New York, a second user in Orlando 108, a replicated server A 104, and a replicated server B 110. Replicated server A 104 and B 110 contain the same information as the Santa Clara site 102 and the function of replicated server A 104 and B 110 is to reduce the Internet accessing load from the Santa Clara site 102. For example, the first user in New York 106 may access the replicated server A 104 instead of Santa Clara site 102 because the replicated server A 104 is physically located closer to the first user 106.
Similarly, the second user in Orlando 108 may access the replicated server B 110 since the replicated server B 110 is located closer to the second user 108. One advantage of having replicated servers physically located closer to users is to reduce travel distance between data and its destination. However, a near-by server is often not the optimal server for a requested transaction. To identify an optimal server, multiple factors such as the physical distance between servers and users, loading status of servers, bandwidth of server, and type of data should be considered. Moreover, the loading status of each server may dynamically change as each server accepts new accessing requests.
Another commonly encountered problem is that a network user may be required to select a server from of a list of available servers, which includes a main site and replicated servers, to implement the user""s request. Selection of a best-server for the requested transfer not only adds additional steps, but also requires each user to have adequate knowledge of the server status.
One method that is commonly used for locating a proper server is using Domain Name Service (DNS) round robin, where a name server hands out a mirrored (or replicated) server address in round robin fashion. The conventional DNS round robin implementation is essentially a rudimentary distribution scheme that does not consider distance between users and servers, server requested loading status, and types of data.
Another method that is commonly used for locating a server is using server farms. This method typically uses a router and an array manager for balancing Web traffic loads amongst available servers. server farms requires additional hardware and a sophisticated router to implement. One problem with server farms is the classic routing problem, where the router is the bottleneck of the distribution process.
Yet another method that is also commonly used for locating a server is a xe2x80x9crouting anycastxe2x80x9d system. In the routing anycast system, multiple servers on the network have the same address. Thus, network routing protocols select the closest server in the network just as they would have a single address and a single server pair.
Accordingly, it is desirable to have a mechanism that allows Web users to locate optimal servers for their requests. As will be seen, one embodiment of the present invention provides a mechanism that allows an optimal server to be allocated without user""s intervention.
A replicated server discovery (xe2x80x9cRSDxe2x80x9d) method and apparatus provides optimal or best-replicated server access to Web users without users"" intervention. In one embodiment, the RSD is configured to receive server addresses using Domain Name Server (xe2x80x9cDNSxe2x80x9d) lookup, where the server addresses include replicated server addresses. The RSD further records responses from servers addressed by the server addresses and then sorts the server addresses according to the responses and types of data involved in transactions.
In one embodiment, the RSD is implemented by a proxy server. In another embodiment, RSD can also be implemented by a browser.